package com.wzy.ch01;

import java.math.BigInteger;

public class Lesson1_1 {

    /**
     * 十进制转化成二进制
     * @param decimalSource
     * @return String
     */
    public static String decimalToBinary(int decimalSource){
        // 转换成 BigInteger 类型，默认是十进制
        BigInteger bigInteger = new BigInteger(String.valueOf(decimalSource));
        // 参数 2 指定的是转化成二进制
        return bigInteger.toString(2);
    }

    /**
     * 二进制转化十进制
     * @param binarySource
     * @return
     */
    public static int binaryToDecimal(String binarySource){
        // 转换为 BigInteger 类型，参数 2 指定的是二进制
        BigInteger bigInteger = new BigInteger(binarySource,2);
        //默认转化成十进制
        return Integer.parseInt(bigInteger.toString());
    }

    public static void main(String[] args) {
        int a = 53;
        String b = "110101";
        //数字 53 的二进制是 110101
        System.out.println(String.format("数字 %d 的二进制是 %s",a,decimalToBinary(a)));
        //数字 110101 的十进制是 53
        System.out.println(String.format("数字 %s 的十进制是 %d",b,binaryToDecimal(b)));
    }
}
